/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package controller;

import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import modelo.Cliente;
import modelo.DAO;
import org.springframework.validation.BindException;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.SimpleFormController;
/**
 *
 * @author odeen
 */
public class AgregarClienteController extends SimpleFormController {
    public AgregarClienteController() {
        setCommandClass(Cliente.class);
        setCommandName("cliente");
    }

    /**
     * Será invocado cuando se procese el formulario
     * @param command
     * @param errors
     * @return
     * @throws Exception
     */
    @Override
    protected ModelAndView onSubmit(Object command, BindException errors) throws Exception {
        Cliente c = (Cliente) command;
        dao.insertar(c);
        return new ModelAndView(getSuccessView()); //Saltamos a la vista de suceso
    }
    /**
     * Permite inicializar datos adicionales, p.e listas de provincias
     * @param request
     * @return
     * @throws Exception
     */
    @Override
    protected Map referenceData(HttpServletRequest request) throws Exception {
        Map mapa = new HashMap();
        mapa.put("clientesTipicos", new String[]{"Jose","Luis","Alberto"});
        return mapa;
    }
    /**
     * Devuelve el objeto que almacena los datos del formulario, por si es necesario editarlo.
     * @param request
     * @return
     * @throws Exception
     */
    @Override
    protected Object formBackingObject(HttpServletRequest request) throws Exception {
        return super.formBackingObject(request);
    }

    protected DAO dao;

    public DAO getDao() {
        return dao;
    }

    public void setDao(DAO dao) {
        this.dao = dao;
    }


}
